home *** CD-ROM | disk | FTP | other *** search
- import java.io.ByteArrayOutputStream;
- import java.io.DataOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.OutputStreamWriter;
- import java.io.Writer;
- import java.util.EmptyStackException;
- import java.util.Enumeration;
- import java.util.Hashtable;
- import java.util.Stack;
- import java.util.Vector;
- import javax.microedition.io.ConnectionNotFoundException;
- import javax.microedition.io.Connector;
- import javax.microedition.io.HttpConnection;
- import javax.microedition.lcdui.Font;
- import javax.microedition.lcdui.Image;
- import javax.microedition.rms.InvalidRecordIDException;
- import javax.microedition.rms.RecordStore;
-
- // $FF: renamed from: u
- class class_0 implements Runnable {
- // $FF: renamed from: try java.lang.String
- private static final String field_0 = "/p/br/div/form/center/li/ul/ol/h1/h2/h3/h4/h5/h6/blockquote/dt/dd/pre/address/";
- // $FF: renamed from: long int
- private static final int field_1 = 2;
- // $FF: renamed from: p java.lang.String
- private String field_2;
- // $FF: renamed from: e java.lang.String
- private String field_3;
- // $FF: renamed from: q boolean
- private boolean field_4;
- // $FF: renamed from: g int
- private int field_5;
- // $FF: renamed from: d int
- private int field_6;
- // $FF: renamed from: else m
- private m field_7;
- // $FF: renamed from: null java.lang.String
- private String field_8;
- // $FF: renamed from: do java.lang.String
- private String field_9;
- // $FF: renamed from: new java.lang.String
- private String field_10;
- // $FF: renamed from: k q[]
- private q[] field_11;
- // $FF: renamed from: int java.lang.String
- private String field_12;
- // $FF: renamed from: goto java.lang.String
- private String field_13;
- // $FF: renamed from: m boolean
- private volatile boolean field_14 = false;
- // $FF: renamed from: i int
- private int field_15 = 0;
- // $FF: renamed from: f int
- private int field_16 = 0;
- // $FF: renamed from: l int
- private int field_17 = 1;
- // $FF: renamed from: a java.util.Vector
- private Vector field_18;
- // $FF: renamed from: r java.util.Vector
- private Vector field_19;
- // $FF: renamed from: for java.util.Vector
- private Vector field_20;
- // $FF: renamed from: c java.util.Hashtable
- private Hashtable field_21;
- // $FF: renamed from: o byte
- private static final byte field_22 = 0;
- // $FF: renamed from: n byte
- private static final byte field_23 = 1;
- // $FF: renamed from: b byte
- private static final byte field_24 = 2;
- // $FF: renamed from: char int
- private int field_25 = 0;
- // $FF: renamed from: case int
- private int field_26 = 0;
- // $FF: renamed from: h java.util.Stack
- private Stack field_27;
- // $FF: renamed from: void javax.microedition.lcdui.Font
- private Font field_28;
- // $FF: renamed from: j int
- private int field_29 = 0;
- // $FF: renamed from: if int
- private int field_30;
- // $FF: renamed from: byte byte
- private byte field_31 = 0;
-
- class_0(m var1, String var2, String var3, String var4, q[] var5, String var6, String var7, Vector var8, Vector var9, Vector var10, Hashtable var11) {
- this.field_7 = var1;
- this.field_8 = var2;
- this.field_9 = var3;
- this.field_10 = var4;
- this.field_11 = var5;
- this.field_12 = var6;
- this.field_13 = var7;
- this.field_18 = var8;
- this.field_19 = var9;
- this.field_20 = var10;
- this.field_21 = var11;
- this.field_2 = var1.int;
- this.field_3 = var1.U;
- this.field_4 = var1.ab;
- this.field_5 = var1.af;
- this.field_6 = var1.D;
- this.field_28 = var1.am;
- this.field_30 = this.field_28.getHeight();
- }
-
- // $FF: renamed from: if () void
- void method_0() {
- this.field_14 = true;
- }
-
- // $FF: renamed from: a (java.io.Writer) void
- private void method_1(Writer var1) throws IOException {
- var1.write("<req vid=\"18\" ver=\"1.7E\">");
- var1.write("<uri");
- if (this.field_13 != null) {
- var1.write(" ref=\"" + this.method_20(this.field_13, true) + '"');
- }
-
- var1.write('>' + this.method_20(this.field_8, false) + "</uri>" + "<display width=\"" + this.field_5 + "\" height=\"" + this.field_6 + "\" images=\"" + this.field_4 + "\" cookies=\"1\" isColor=\"" + this.field_7.L + "\" numColors=\"" + this.field_7.H + "\"/>");
- if (this.field_11 != null) {
- var1.write("<f");
- if (this.field_9 != null) {
- var1.write(" method=\"" + this.method_20(this.field_9, true) + '"');
- }
-
- if (this.field_10 != null) {
- var1.write(" enctype=\"" + this.method_20(this.field_10, true) + '"');
- }
-
- if (this.field_12 != null) {
- var1.write(" charset=\"" + this.method_20(this.field_12, true) + '"');
- }
-
- var1.write(62);
-
- for(int var2 = 0; var2 < this.field_11.length; ++var2) {
- var1.write("<nv n=\"");
- var1.write(this.method_20(this.field_11[var2].a, true));
- var1.write("\" v=\"");
- var1.write(this.method_20(this.field_11[var2].if, true));
- var1.write("\"/>");
- }
-
- this.field_11 = null;
- var1.write("</f>");
- }
-
- var1.write("</req>");
- }
-
- // $FF: renamed from: for (java.lang.String) java.lang.String
- static String method_2(String var0) {
- int var1 = var0.indexOf(37);
- if (var1 < 0) {
- return var0;
- } else {
- StringBuffer var2 = new StringBuffer();
-
- for(int var3 = 0; var3 < var0.length(); ++var3) {
- char var4 = var0.charAt(var3);
- if (var4 == '%' && var3 + 2 < var0.length()) {
- try {
- var2.append((char)Integer.parseInt(var0.substring(var3 + 1, var3 + 3), 16));
- var3 += 2;
- continue;
- } catch (NumberFormatException var6) {
- }
- }
-
- var2.append(var4);
- }
-
- return var2.toString();
- }
- }
-
- // $FF: renamed from: int (java.lang.String) java.lang.String
- private String method_3(String var1) {
- int var2 = var1.indexOf("JSESSIONID=");
- if (var2 == -1) {
- return null;
- } else {
- int var3 = var1.indexOf(59, var2);
- return var3 == -1 ? var1.substring(var2 + 11) : var1.substring(var2 + 11, var3);
- }
- }
-
- // $FF: renamed from: do (java.lang.String) boolean
- private boolean method_4(String var1) {
- var1 = var1.toLowerCase();
- return var1.startsWith("https:") || var1.startsWith("fullsize:https:");
- }
-
- public void run() {
- HttpConnection var1 = null;
- InputStream var2 = null;
- OutputStreamWriter var3 = null;
-
- try {
- String var4 = null;
- int var5 = this.field_8.indexOf(35);
- if (var5 >= 0) {
- var4 = this.field_8.substring(var5 + 1);
- this.field_8 = this.field_8.substring(0, var5);
- }
-
- this.method_8(1, 0, (Throwable)null);
- boolean var6 = this.method_4(this.field_8);
- String var7 = var6 ? this.field_7.t : this.field_7.y;
- if (var7 == null) {
- throw new IOException((var6 ? "Secure " : "") + "ReqwirelessWeb server not set");
- }
-
- boolean var8 = var7.toLowerCase().startsWith("https:");
-
- try {
- var1 = (HttpConnection)Connector.open(var7);
- } catch (ConnectionNotFoundException var58) {
- if (var6) {
- throw new ConnectionNotFoundException("This resource requires a secure (HTTPS) connection, which is not supported by your device.");
- }
-
- throw var58;
- }
-
- var1.setRequestMethod("POST");
- if (this.field_7.S) {
- var1.setRequestProperty("Connection", "close");
- }
-
- String var9 = this.field_7.Y;
- if (var9 != null) {
- var1.setRequestProperty("Cookie", "JSESSIONID=" + var9);
- }
-
- if (var8) {
- String var10 = this.field_7.aj;
- if (var10 != null) {
- var1.setRequestProperty("X-RW-SID", var10);
- }
- }
-
- var1.setRequestProperty("Content-Type", "text/xml");
- if (this.field_2 != null) {
- var1.setRequestProperty("User-Agent", this.field_2);
- }
-
- if (this.field_3 != null) {
- var1.setRequestProperty("Accept-Language", this.field_3);
- }
-
- String var62 = this.field_7.n;
- if (var62 != null) {
- var1.setRequestProperty("X-RW-ClientID", var62);
- }
-
- Thread.yield();
- if (!this.field_14) {
- var3 = new OutputStreamWriter(var1.openOutputStream());
- this.method_1(var3);
- var3.close();
- Thread.yield();
- if (this.field_14) {
- return;
- }
-
- this.method_8(1, 100, (Throwable)null);
- this.method_8(2, 0, (Throwable)null);
- var2 = var1.openInputStream();
- Thread.yield();
- if (this.field_14) {
- return;
- }
-
- String var11 = var1.getHeaderField("Set-Cookie");
- if (var11 != null) {
- this.field_7.Y = this.method_3(var11);
- }
-
- String var12 = var1.getHeaderField("X-RW-ClientID");
- if (var12 != null) {
- RecordStore var13 = null;
- Object var14 = null;
- DataOutputStream var15 = null;
-
- try {
- var13 = RecordStore.openRecordStore("clientID", true);
- ByteArrayOutputStream var65 = new ByteArrayOutputStream();
- var15 = new DataOutputStream(var65);
- var15.writeUTF(var12);
- var15.flush();
- byte[] var16 = var65.toByteArray();
-
- try {
- var13.setRecord(1, var16, 0, var16.length);
- } catch (InvalidRecordIDException var55) {
- var13.addRecord(var16, 0, var16.length);
- }
-
- this.field_7.n = var12;
- } catch (Exception var56) {
- } finally {
- if (var15 != null) {
- var15.close();
- }
-
- if (var13 != null) {
- try {
- var13.closeRecordStore();
- } catch (Exception var54) {
- }
- }
-
- }
- }
-
- if (var8) {
- String var63 = var1.getHeaderField("X-RW-SID");
- if (var63 != null) {
- this.field_7.aj = var63;
- }
- }
-
- String var64 = var1.getHeaderField("Content-Location");
- if (var4 != null) {
- var64 = var64 + '#' + var4;
- }
-
- this.field_7.if(var64);
- this.method_8(2, 100, (Throwable)null);
- String var66 = var1.getType();
- if (var66 == null) {
- throw new IOException("Unexpected server response");
- }
-
- if (var66.startsWith("multipart/related")) {
- this.method_5(var1, var2);
- if (this.field_17 != 64 || this.field_16 != 100) {
- this.method_8(64, 100, (Throwable)null);
- }
- } else if (var66.startsWith("text/xml")) {
- this.method_10(var2, (int)var1.getLength());
- this.method_8(64, 100, (Throwable)null);
- } else if (var66.startsWith("image/")) {
- var4 = null;
- this.method_8(16, 100, (Throwable)null);
- this.method_8(64, 0, (Throwable)null);
- this.method_19(var2, var64, (int)var1.getLength(), true);
- this.method_8(64, 100, (Throwable)null);
- } else {
- var4 = null;
- f var67 = this.field_7.c();
- if (var67 == null) {
- throw new IOException("Unexpected server response");
- }
-
- var67.a(var66, var2, (int)var1.getLength());
- }
-
- Thread.yield();
- if (this.field_14) {
- return;
- }
-
- if (var4 != null) {
- this.field_7.int(method_2(var4));
- this.field_7.repaint(0, 0, this.field_5, this.field_6);
- }
-
- return;
- }
- } catch (OutOfMemoryError var59) {
- this.field_2 = null;
- this.field_3 = null;
- this.field_8 = null;
- this.field_9 = null;
- this.field_10 = null;
- this.field_12 = null;
- this.field_13 = null;
- System.gc();
- this.method_8(this.field_17, this.field_16, var59);
- return;
- } catch (Exception var60) {
- Thread.yield();
- this.method_8(this.field_17, this.field_16, var60);
- return;
- } finally {
- try {
- if (var2 != null) {
- var2.close();
- }
-
- if (var3 != null) {
- var3.close();
- }
-
- if (var1 != null) {
- var1.close();
- }
- } catch (IOException var53) {
- }
-
- }
-
- }
-
- // $FF: renamed from: a (javax.microedition.io.HttpConnection, java.io.InputStream) void
- private void method_5(HttpConnection var1, InputStream var2) throws IOException {
- while(this.method_7(var2)) {
- int var3 = -1;
- String var4 = null;
- String var5 = null;
-
- while(true) {
- String var6 = this.method_6(var2);
- Thread.yield();
- if (this.field_14) {
- return;
- }
-
- int var7 = var6.indexOf(58);
- if (var7 <= 0) {
- if (var5 != null) {
- if (var5.startsWith("image/")) {
- this.method_19(var2, var4, var3, false);
- if (this.field_15 > 0) {
- this.method_8(64, this.field_7.long.size() * 100 / this.field_15, (Throwable)null);
- }
- } else if (var5.startsWith("text/xml")) {
- this.method_10(new z(var2, var3), var3);
- this.method_8(64, this.field_15 == 0 ? 100 : 0, (Throwable)null);
- }
- }
-
- Thread.yield();
- if (this.field_14) {
- return;
- }
-
- if (var2.read() != -1) {
- break;
- }
-
- return;
- }
-
- String var8 = var6.substring(0, var7);
- String var9 = var6.substring(var7 + 1).trim();
- if (var8.equals("Content-Type")) {
- var5 = var9;
- } else if (var8.equals("Content-Length")) {
- var3 = Integer.parseInt(var9);
- } else if (var8.equals("Content-Location")) {
- var4 = var9;
- } else if (var8.equals("X-Images")) {
- this.field_15 = Integer.parseInt(var9);
- }
- }
- }
-
- }
-
- // $FF: renamed from: a (java.io.InputStream) java.lang.String
- private String method_6(InputStream var1) throws IOException {
- StringBuffer var2 = new StringBuffer();
-
- while(true) {
- int var3 = var1.read();
- if (this.field_14 || var3 == -1 || var3 == 10) {
- return var2.toString();
- }
-
- var2.append((char)var3);
- }
- }
-
- // $FF: renamed from: if (java.io.InputStream) boolean
- private boolean method_7(InputStream var1) throws IOException {
- while(true) {
- int var2 = var1.read();
- if (!this.field_14 && var2 != -1) {
- if (var2 != 10) {
- continue;
- }
-
- return true;
- }
-
- return false;
- }
- }
-
- // $FF: renamed from: a (int, int, java.lang.Throwable) void
- private void method_8(int var1, int var2, Throwable var3) {
- if (!this.field_14) {
- String var4 = null;
- switch (var1) {
- case 1:
- var4 = "Contacting server";
- break;
- case 2:
- var4 = "Waiting for reply";
- break;
- case 16:
- var4 = "Loading text";
- break;
- case 64:
- if (var2 == 100) {
- var4 = "Done loading";
- } else {
- var4 = "Loading images";
- }
- }
-
- this.field_7.a(var4, var2, var3);
- this.field_17 = var1;
- n var5 = this.field_7.try();
- if (var5 != null && (var2 != this.field_16 || var2 == 100 || var3 != null || var1 == 1)) {
- var5.a(var1, var2, var3);
- this.field_16 = var2;
- }
-
- }
- }
-
- // $FF: renamed from: a (java.io.InputStream, int, int) byte[]
- private byte[] method_9(InputStream var1, int var2, int var3) throws IOException {
- byte[] var4 = new byte[var2];
- int var6 = 0;
-
- while(var6 < var2) {
- if (!this.field_7.byte) {
- int var7 = var1.read(var4, var6, var2 - var6 < 256 ? var2 - var6 : 256);
- Thread.yield();
- if (this.field_14 || var7 == -1) {
- break;
- }
-
- var6 += var7;
- } else {
- int var5;
- do {
- var5 = var1.read();
- if (var5 == -1) {
- break;
- }
-
- var4[var6++] = (byte)var5;
- } while(var6 % 128 != 0 && var6 < var2);
-
- Thread.yield();
- if (this.field_14 || var5 == -1) {
- break;
- }
- }
-
- if (var3 >= 0) {
- this.method_8(var3, var6 * 95 / var2, (Throwable)null);
- }
- }
-
- return var4;
- }
-
- // $FF: renamed from: a (java.io.InputStream, int) void
- private void method_10(InputStream var1, int var2) throws IOException {
- if (this.field_15 > 0) {
- this.field_7.long = new Hashtable();
- } else {
- this.field_7.long = null;
- }
-
- try {
- r var3 = new r(new InputStreamReader(var1));
- this.field_27 = new Stack();
- o var4 = null;
- k var5 = null;
- x var6 = null;
- v var7 = null;
- g var8 = null;
- String var9 = null;
- String var10 = null;
- a var11 = null;
- a var12 = null;
- boolean var13 = false;
- boolean var14 = false;
- boolean var15 = false;
- boolean var16 = false;
- int var17 = -1;
- Stack var18 = null;
-
- while(true) {
- Thread.yield();
- if (this.field_14) {
- return;
- }
-
- Object var19 = null;
- switch (var3.new()) {
- case 1:
- this.method_8(16, 100, (Throwable)null);
- return;
- case 2:
- if (var2 > 0) {
- this.method_8(16, var3.try() * 100 / var2, (Throwable)null);
- } else {
- this.method_8(16, 69, (Throwable)null);
- }
-
- String var39 = var3.for();
- if (var14) {
- if (var39.equals("title")) {
- var15 = true;
- }
- } else if (var39.equals("head")) {
- var14 = true;
- } else if (this.method_14(var39)) {
- if (this.field_25 > 0 || var16) {
- if (!var39.equals("br")) {
- this.field_26 += this.field_28.getHeight() / 3;
- }
-
- this.method_22(this.field_28.getHeight());
- }
-
- if (var39.equals("li")) {
- StringBuffer var48 = new StringBuffer(2);
- if (var18 != null) {
- for(int var61 = 0; var61 < ((Vector)var18).size() && var61 < 4; ++var61) {
- var48.append(' ').append(' ');
- }
- }
-
- if (var17 > 0) {
- var48.append(String.valueOf(var17++));
- var48.append('.');
- } else {
- var48.append('*');
- }
-
- this.method_18(var48.toString(), (e)null);
- this.field_25 += this.field_28.charWidth(' ');
- } else {
- if (!var39.equals("ul") && !var39.equals("ol")) {
- if (var39.charAt(0) == 'h') {
- char var47 = var39.charAt(1);
- this.field_28 = Font.getFont(this.field_28.getFace(), this.field_7.byte ? 0 : 1, var47 != '1' && var47 != '2' ? 0 : 16);
- break;
- }
-
- if (var39.equals("form")) {
- var6 = new x(var3.if("action"), var3.if("method"), var3.if("enctype"), var3.if("accept-charset"));
- if (this.field_20 != null) {
- this.field_20.addElement(var6);
- }
- } else if (var39.equals("pre")) {
- var16 = true;
- this.method_11();
- } else if (var39.equals("address")) {
- this.method_12();
- }
- break;
- }
-
- if (var17 >= 0) {
- if (var18 == null) {
- var18 = new Stack();
- }
-
- var18.push(new Integer(var17));
- }
-
- var17 = var39.equals("ol") ? 1 : 0;
- }
- } else if (var39.equals("a")) {
- String var46 = var3.if("href");
- if (var46 != null) {
- if (var4 != null) {
- this.method_13(var4);
- }
-
- var4 = new o(var46);
- this.field_27.push(this.field_28);
- this.field_28 = Font.getFont(this.field_28.getFace(), this.field_28.getStyle() | 4, this.field_28.getSize());
- this.field_29 = 255;
- }
-
- String var60 = var3.if("name");
- if (var60 != null && this.field_21 != null) {
- this.field_21.put(var60, new Integer(this.field_26));
- }
- } else if (this.field_4 && var39.equals("img")) {
- if (this.method_16(var3, (e)(var4 != null ? var4 : var5)) && var3.if("usemap") == null && var4 != null && var3.if("ismap") != null) {
- var4.a(true);
- }
- } else if (var39.equals("b")) {
- this.field_27.push(this.field_28);
- if (!this.field_7.byte) {
- this.field_28 = Font.getFont(this.field_28.getFace(), this.field_28.getStyle() | 1, this.field_28.getSize());
- }
- } else if (var39.equals("i")) {
- this.method_12();
- } else if (var39.equals("input")) {
- String var45 = var3.if("type");
- if (var45 != null && !var45.equals("text") && !var45.equals("password")) {
- if (var45.equals("checkbox")) {
- String var59 = var3.if("value");
- if (var59 == null) {
- var59 = "on";
- }
-
- w var70 = new w(var3.if("name"), var59, var3.if("checked") != null);
- if (var6 != null) {
- var6.a(var70);
- }
-
- this.field_19.addElement(new d(var70, this.field_18.size()));
- int var77 = this.field_28.getHeight() - 2;
- if (var77 > this.field_5 - this.field_25) {
- this.method_22(var77 + 2);
- } else {
- this.method_25(var77 + 2);
- }
-
- this.field_18.addElement(new s(var70, this.field_25, this.method_23(var77), var77, var77, 0, (Font)null));
- this.field_25 += var77 + 1;
- break;
- }
-
- if (var45.equals("radio")) {
- String var58 = var3.if("value");
- if (var58 == null) {
- var58 = "on";
- }
-
- ad var69 = new ad(var6, var3.if("name"), var58, var3.if("checked") != null);
- if (var6 != null) {
- var6.if(var69);
- }
-
- this.field_19.addElement(new d(var69, this.field_18.size()));
- int var76 = this.field_28.getHeight();
- if (var76 > this.field_5 - this.field_25) {
- this.method_22(var76 + 2);
- } else {
- this.method_25(var76 + 2);
- }
-
- this.field_18.addElement(new s(var69, this.field_25, this.method_23(var76), var76, var76, 0, (Font)null));
- this.field_25 += var76 + 1;
- break;
- }
-
- if (!var45.equals("submit") && !var45.equals("reset")) {
- if (var45.equals("hidden")) {
- if (var6 != null) {
- String var57 = var3.if("name");
- if (var57 != null) {
- String var68 = var3.if("value");
- if (var68 == null) {
- var68 = "";
- }
-
- var6.a(new v(var57, var68, true));
- }
- }
- break;
- }
-
- if (!var45.equals("image")) {
- break;
- }
-
- String var56 = var3.if("name");
- if (var56 == null) {
- var56 = "";
- }
-
- if (var56.length() > 0) {
- var56 = var56 + '.';
- }
-
- v var67 = new v(var56 + 'x', (String)null, false);
- v var75 = new v(var56 + 'y', (String)null, false);
- if (var6 != null) {
- var6.a(var67);
- var6.a(var75);
- }
-
- var5 = new k(var6, var67, var75);
- if (!this.field_4 || !this.method_16(var3, var5)) {
- String var79 = var3.if("alt");
- if (var79 != null) {
- this.field_25 += this.method_18(var79, var5) + 1;
- }
- }
-
- this.field_19.addElement(var5);
- var5 = null;
- break;
- }
-
- String var54 = var3.if("value");
- v var66 = null;
- if (var45.equals("reset")) {
- if (var54 == null || var54.length() == 0) {
- var54 = new String("Reset");
- }
- } else {
- if (var54 == null || var54.length() == 0) {
- var54 = new String("Submit");
- }
-
- var66 = new v(var3.if("name"), var54, false);
- if (var6 != null) {
- var6.a(var66);
- }
- }
-
- var54 = ' ' + var54 + ' ';
- var5 = new k(var6, var66, (v)null);
- int var74 = this.field_28.stringWidth(var54);
- if (var74 > this.field_5 - this.field_25 && this.field_25 > 0) {
- this.method_22(this.field_28.getHeight() + 1);
- }
-
- this.field_25 = this.method_18(var54, var5) + 1;
- this.field_19.addElement(var5);
- var5 = null;
- break;
- }
-
- int var53 = -1;
- int var65 = 20;
-
- try {
- String var72 = var3.if("maxlength");
- if (var72 != null) {
- var53 = Integer.parseInt(var72);
- }
-
- String var78 = var3.if("size");
- if (var78 != null) {
- var65 = Integer.parseInt(var78);
- }
- } catch (NumberFormatException var34) {
- }
-
- String var73 = var3.if("value");
- if (var73 == null) {
- var73 = "";
- }
-
- this.method_17(var3.if("name"), var73, 1, var65, var53, "password".equals(var45) ? 65536 : 0, var6);
- } else if (var39.equals("select")) {
- var8 = new g(var3.if("name"), var3.if("multiple") != null);
- } else if (var39.equals("option")) {
- var9 = var3.if("value");
- var13 = var3.if("selected") != null;
- } else if (var39.equals("textarea")) {
- int var44 = 3;
- int var52 = 30;
-
- try {
- String var64 = var3.if("rows");
- if (var64 != null) {
- var44 = Integer.parseInt(var64);
- }
-
- String var71 = var3.if("cols");
- if (var71 != null) {
- var52 = Integer.parseInt(var71);
- }
- } catch (NumberFormatException var33) {
- }
-
- var7 = this.method_17(var3.if("name"), (String)null, var44, var52, -1, 0, var6);
- } else if (var39.equals("tt")) {
- this.method_11();
- } else if (var39.equals("button")) {
- String var43 = var3.if("type");
- v var51 = null;
- if (var43 == null || var43.equals("submit")) {
- String var63 = var3.if("value");
- if (var63 == null) {
- var63 = "";
- }
-
- var51 = new v(var3.if("name"), var63, false);
- if (var6 != null) {
- var6.a(var51);
- }
- }
-
- var5 = new k(var6, var51, (v)null);
- if (this.field_25 > 0) {
- this.method_22(this.field_28.getHeight() + 1);
- }
- } else {
- if (!this.field_4 || !var39.equals("area")) {
- break;
- }
-
- String var42 = var3.if("href");
- String var50 = var3.if("shape");
- byte var62 = -1;
- if (var50 != null && !var50.equals("rect")) {
- if (var50.equals("circle")) {
- var62 = 1;
- } else if (var50.equals("poly")) {
- var62 = 2;
- } else if (var50.equals("default")) {
- var62 = 4;
- }
- } else {
- var62 = 0;
- }
-
- String var23 = var3.if("coords");
- int[] var24 = this.method_15(var23);
- a var25 = new a(var11, var42, var62, var24);
- if (var11 == null) {
- var11 = var25;
- }
-
- if (var12 != null) {
- var12.a(var25);
- }
-
- var12 = var25;
- var25.a(this.field_18.size());
- if (var42 != null) {
- this.field_19.addElement(var25);
- }
- }
- break;
- case 3:
- String var38 = var3.for();
- if (var14) {
- if (var15 && var38.equals("title")) {
- var15 = false;
- } else if (var38.equals("head")) {
- var14 = false;
- }
- } else if (this.method_14(var38)) {
- if (var38.charAt(0) == 'h') {
- this.field_28 = this.field_7.am;
- } else if (!var38.equals("ul") && !var38.equals("ol")) {
- if (var38.equals("pre")) {
- this.method_21();
- var16 = false;
- } else if (var38.equals("address")) {
- this.method_21();
- }
- } else if (var18 != null) {
- try {
- var17 = (Integer)var18.pop();
- } catch (EmptyStackException var32) {
- }
-
- if (var18.empty()) {
- var18 = null;
- }
- } else {
- var17 = -1;
- }
-
- if (this.field_25 > 0) {
- if (!var38.equals("br")) {
- this.field_26 += this.field_28.getHeight() / 3;
- }
-
- this.method_22(this.field_28.getHeight());
- }
- } else if (var38.equals("a")) {
- if (var4 != null) {
- this.method_13(var4);
- var4 = null;
- }
- } else {
- if (!var38.equals("b") && !var38.equals("i") && !var38.equals("tt")) {
- if (var38.equals("option")) {
- if (var8 != null) {
- if (var10 == null) {
- var10 = new String("");
- }
-
- var8.byte().addElement(new p(var8, var10, var9 == null ? var10 : var9, var13));
- }
-
- var9 = null;
- var10 = null;
- continue;
- }
-
- if (!var38.equals("select")) {
- if (var38.equals("textarea")) {
- if (var7 != null) {
- if (var7.a() == null) {
- var7.a("");
- }
-
- var7 = null;
- }
- } else if (var38.equals("button")) {
- if (var5 != null) {
- if (var5.if() > 0) {
- this.field_19.addElement(var5);
- }
-
- var5 = null;
- if (this.field_25 > 0) {
- this.method_22(this.field_28.getHeight());
- }
- }
- } else if (this.field_4 && var38.equals("map")) {
- var11 = null;
- var12 = null;
- }
- continue;
- }
-
- var8.byte().trimToSize();
- if (var6 != null) {
- var6.a(var8);
- }
-
- this.field_19.addElement(new i(var8, this.field_18.size(), this.field_28));
- int var40 = 0;
- Enumeration var49 = var8.byte().elements();
-
- while(var49.hasMoreElements()) {
- int var22 = this.field_28.stringWidth(((p)var49.nextElement()).do());
- if (var22 > var40) {
- var40 = var22;
- if (var22 > this.field_5 - this.field_28.getHeight()) {
- var40 = this.field_5 - this.field_28.getHeight();
- break;
- }
- }
- }
-
- var40 += this.field_28.getHeight();
- if (var40 > this.field_5 - this.field_25) {
- this.method_22(this.field_28.getHeight() + 2);
- } else {
- this.method_25(this.field_28.getHeight() + 2);
- }
-
- this.field_18.addElement(new s(var8, this.field_25, this.method_23(this.field_28.getHeight()), var40, this.field_28.getHeight(), 0, (Font)null));
- this.field_25 += var40 + 1;
- var8 = null;
- continue;
- }
-
- this.method_21();
- }
- break;
- case 4:
- if (var14) {
- if (var15) {
- this.field_7.void = var3.char();
- }
- } else {
- String var20 = var3.char();
- if (var20 == null) {
- var20 = "";
- }
-
- if (var8 != null) {
- var10 = var20;
- } else if (var7 != null) {
- var7.a(var20);
- } else {
- if (this.field_25 <= 0 && !var16) {
- int var21;
- for(var21 = 0; var21 < var20.length() && var20.charAt(var21) <= ' '; ++var21) {
- }
-
- if (var21 > 0) {
- var20 = var20.substring(var21);
- }
- }
-
- this.method_18(var20, (e)(var4 != null ? var4 : var5));
- }
- }
- }
- }
- } finally {
- this.field_19.trimToSize();
- this.field_18.trimToSize();
- }
- }
-
- // $FF: renamed from: int () void
- private void method_11() {
- this.field_27.push(this.field_28);
- this.field_28 = Font.getFont(32, this.field_28.getStyle(), this.field_28.getSize());
- }
-
- // $FF: renamed from: do () void
- private void method_12() {
- this.field_27.push(this.field_28);
- this.field_28 = Font.getFont(this.field_28.getFace(), this.field_28.getStyle() | 2, this.field_28.getSize());
- }
-
- // $FF: renamed from: a (o) void
- private void method_13(o var1) {
- if (var1.if() > 0) {
- this.field_19.addElement(var1);
- }
-
- this.field_29 = 0;
- this.method_21();
- }
-
- // $FF: renamed from: a (java.lang.String) boolean
- private boolean method_14(String var1) {
- return "/p/br/div/form/center/li/ul/ol/h1/h2/h3/h4/h5/h6/blockquote/dt/dd/pre/address/".indexOf('/' + var1 + '/') != -1;
- }
-
- // $FF: renamed from: if (java.lang.String) int[]
- private int[] method_15(String var1) {
- if (var1 == null) {
- return null;
- } else {
- int var2 = 1;
-
- for(int var12 = 0; var12 < var1.length() && (var12 = var1.indexOf(44, var12)) != -1; ++var12) {
- ++var2;
- }
-
- int[] var4 = new int[var2];
- int var5 = 0;
-
- for(int var6 = 0; var5 < var2; ++var5) {
- int var7 = var1.indexOf(44, var6);
-
- try {
- Object var8 = null;
- String var13;
- if (var7 >= 0) {
- var13 = var1.substring(var6, var7);
- } else {
- var13 = var1.substring(var6);
- }
-
- var4[var5] = Integer.parseInt(var13);
- } catch (IndexOutOfBoundsException var10) {
- return null;
- } catch (NumberFormatException var11) {
- return null;
- }
-
- var6 = var7 + 1;
- }
-
- return var4;
- }
- }
-
- // $FF: renamed from: a (r, e) boolean
- private boolean method_16(r var1, e var2) {
- String var3 = var1.if("src");
- if (var3 != null) {
- try {
- int var4 = 0;
- int var5 = 0;
- String var6 = var1.if("width");
- if (var6 != null) {
- var4 = Integer.parseInt(var6);
- }
-
- String var7 = var1.if("height");
- if (var7 != null) {
- var5 = Integer.parseInt(var7);
- }
-
- if (var4 > 0 && var5 > 0) {
- var3 = var3 + '#' + var4 + ',' + var5;
- int var8 = 100;
- if (var4 > this.field_5) {
- var8 = 100 * this.field_5 / var4;
- var5 = this.field_5 * var5 / var4;
- var4 = this.field_5;
- if (var5 == 0) {
- var5 = 1;
- }
- }
-
- if (var4 > this.field_5 - this.field_25) {
- this.method_22(var5 + 2);
- } else {
- this.method_25(var5 + 2);
- }
-
- String var9 = var1.if("align");
- if (var9 != null) {
- if (var9.equals("top")) {
- this.method_26((byte)1);
- } else if (var9.equals("middle")) {
- this.method_26((byte)2);
- } else {
- this.method_26((byte)0);
- }
- } else {
- this.method_26((byte)0);
- }
-
- if (var2 != null) {
- var2.if(var8);
- var2.a(this.field_18.size());
- }
-
- aa var10 = new aa(this.field_7.long, var3, this.field_25, this.method_23(var5), var4, var5);
- this.field_18.addElement(var10);
- this.field_25 += var4 + 2;
- return true;
- }
- } catch (NumberFormatException var11) {
- }
- }
-
- return false;
- }
-
- // $FF: renamed from: a (java.lang.String, java.lang.String, int, int, int, int, x) v
- private v method_17(String var1, String var2, int var3, int var4, int var5, int var6, x var7) {
- if (this.field_25 > 0) {
- this.method_22(var3 * this.field_28.getHeight() + 2);
- } else {
- this.method_25(var3 * this.field_28.getHeight() + 2);
- }
-
- int var8 = var4 * this.field_28.charWidth(' ');
- if (var8 >= this.field_5) {
- var8 = this.field_5;
- }
-
- v var9 = new v(var1, var2, true);
- this.field_19.addElement(new y(var9, this.field_18.size(), var5, var6));
- this.field_18.addElement(new s(var9, this.field_25, this.field_26 + 1, var8, var3 * this.field_28.getHeight(), var6, this.field_28));
- if (var7 != null) {
- var7.a(var9);
- }
-
- this.field_25 += var8 + 1;
- if (this.field_7.b) {
- this.field_7.repaint(0, 0, this.field_5, this.field_6);
- }
-
- return var9;
- }
-
- // $FF: renamed from: a (java.lang.String, e) int
- private int method_18(String var1, e var2) {
- int var3 = var1.length();
- int var4 = 0;
- int var5 = 0;
- int var6 = 0;
- int var7 = this.field_25;
-
- while(var5 < var3) {
- int var8 = var1.indexOf(32, var5);
- if (var8 < 0) {
- var8 = var3;
- }
-
- if (var8 > 0) {
- int var9 = this.field_28.substringWidth(var1, var5, var8 - var5);
- if (var9 >= this.field_5 - this.field_25) {
- int var10 = var5 - 1;
- if (var6 == var5 && this.field_25 == 0) {
- int var11 = 1;
-
- while(true) {
- Thread.yield();
- if (this.field_14) {
- return var4;
- }
-
- var9 = this.field_28.substringWidth(var1, var5, var8 - var5 - var11);
- if (var9 <= this.field_5 - this.field_25) {
- var5 = var10 = var8 - var11;
- break;
- }
-
- ++var11;
- }
- }
-
- if (var10 > var6) {
- if (var2 != null) {
- var2.a(this.field_18.size());
- }
-
- this.method_25(this.field_28.getHeight());
- this.field_18.addElement(new j(var1.substring(var6, var10), var7, this.method_24(this.field_28.getHeight(), true), this.field_28, this.field_29));
- if (this.field_25 + var9 > var4) {
- var4 = this.field_25 + var9;
- }
- }
-
- this.method_22(this.field_28.getHeight());
- var7 = 0;
- var6 = var5;
- continue;
- }
-
- if (var8 + 1 >= var3) {
- if (var2 != null) {
- var2.a(this.field_18.size());
- }
-
- this.method_25(this.field_28.getHeight());
- this.field_18.addElement(new j(var1.substring(var6, var8), var7, this.method_24(this.field_28.getHeight(), true), this.field_28, this.field_29));
- this.field_25 += var9;
- if (this.field_25 > var4) {
- var4 = this.field_25;
- }
- } else {
- this.field_25 += var9;
- }
- }
-
- if (var8 < var3) {
- this.field_25 += this.field_28.charWidth(' ');
- }
-
- var5 = var8 + 1;
- }
-
- if (this.field_7.b) {
- this.field_7.repaint(0, 0, this.field_5, this.field_6);
- }
-
- return var4;
- }
-
- // $FF: renamed from: a (java.io.InputStream, java.lang.String, int, boolean) void
- private void method_19(InputStream var1, String var2, int var3, boolean var4) throws IOException {
- if (var3 != 0) {
- Object var5 = null;
- byte[] var10;
- if (var3 > 0) {
- var10 = this.method_9(var1, var3, var4 ? 64 : -1);
- } else {
- ByteArrayOutputStream var6 = new ByteArrayOutputStream();
- byte[] var7 = new byte[256];
-
- while(true) {
- Thread.yield();
- if (this.field_14) {
- return;
- }
-
- int var8 = var1.read(var7);
- if (var8 == -1) {
- var10 = var6.toByteArray();
- var6.close();
- break;
- }
-
- var6.write(var7, 0, var8);
- }
- }
-
- if (var10 != null && var10.length > 0) {
- Thread.yield();
- if (this.field_14) {
- return;
- }
-
- try {
- Image var12 = Image.createImage(var10, 0, var10.length);
- Object var11 = null;
- Thread.yield();
- if (this.field_14) {
- return;
- }
-
- if (this.field_7.long == null) {
- this.field_7.long = new Hashtable();
- this.field_7.s = var12.getHeight();
- aa var13 = new aa(this.field_7.long, var2, 0, 0, var12.getWidth(), var12.getHeight());
- this.field_18.addElement(var13);
- }
-
- this.field_7.long.put(var2, var12);
- this.field_7.repaint(0, 0, this.field_5, this.field_6);
- } catch (IllegalArgumentException var9) {
- if (this.field_7.long == null) {
- throw var9;
- }
- }
- }
-
- }
- }
-
- // $FF: renamed from: a (java.lang.String, boolean) java.lang.String
- private final String method_20(String var1, boolean var2) {
- int var3 = var1.length();
- StringBuffer var4 = new StringBuffer(var3);
-
- for(int var5 = 0; var5 < var3; ++var5) {
- char var6 = var1.charAt(var5);
- switch (var6) {
- case '"':
- if (var2) {
- var4.append(""");
- break;
- }
- default:
- if (var6 > 127) {
- var4.append("" + var6 + ';');
- } else {
- var4.append(var6);
- }
- break;
- case '&':
- var4.append("&");
- break;
- case '<':
- var4.append("<");
- break;
- case '>':
- var4.append(">");
- }
- }
-
- return var4.toString();
- }
-
- // $FF: renamed from: a () void
- private void method_21() {
- try {
- this.field_28 = (Font)this.field_27.pop();
- } catch (EmptyStackException var2) {
- }
-
- }
-
- // $FF: renamed from: a (int) void
- private void method_22(int var1) {
- this.field_25 = 0;
- this.field_26 += this.field_30;
- this.field_30 = var1;
- this.field_31 = 0;
- this.field_7.s = this.field_26 + this.field_30;
- }
-
- // $FF: renamed from: do (int) int
- private int method_23(int var1) {
- return this.method_24(var1, false);
- }
-
- // $FF: renamed from: a (int, boolean) int
- private int method_24(int var1, boolean var2) {
- switch (this.field_31) {
- case 1:
- return this.field_26 + (var2 ? 0 : 1);
- case 2:
- return this.field_26 + this.field_30 / 2 - var1 / 2;
- default:
- return this.field_26 + this.field_30 - var1 - (var2 ? 0 : 1);
- }
- }
-
- // $FF: renamed from: if (int) void
- private void method_25(int var1) {
- if (var1 > this.field_30) {
- this.field_30 = var1;
- this.field_7.s = this.field_26 + this.field_30;
- if (this.field_25 > 0) {
- this.method_27();
- }
- }
-
- }
-
- // $FF: renamed from: a (byte) void
- private void method_26(byte var1) {
- if (this.field_31 != var1) {
- this.field_31 = var1;
- this.method_27();
- }
-
- }
-
- // $FF: renamed from: for () void
- private void method_27() {
- for(int var1 = this.field_18.size() - 1; var1 >= 0; --var1) {
- c var2 = (c)this.field_18.elementAt(var1);
- if (var2.if < this.field_26) {
- break;
- }
-
- var2.if = this.method_24(var2.if(), var2 instanceof j);
- }
-
- }
- }
-